// src/router/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'

// 引入组件（可使用懒加载优化）
import Home from '@/views/list/index.vue'
import CryptoDetail from '@/views/detail/index.vue'
import NotFound from '@/views/404/index.vue'

// 安装路由插件
Vue.use(VueRouter)

// 定义路由规则
const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home,
    meta: { title: 'common.dashboard' } // 可选：添加元信息
  },
  {
    path: '/crypto/:id', // 动态路由参数（币种ID）
    name: 'CryptoDetail',
    component: CryptoDetail,
    meta: { title: 'common.dashboard' }
  },
  {
    path: '*', 
    name: 'NotFound',
    component: NotFound,
    meta: { title: 'common.dashboard' }
  },
]

// 创建路由实例
const router = new VueRouter({
  mode: 'hash', // 路由模式：history（无#）或 hash（有#）
  base: process.env.BASE_URL, // 基础路径（与vue.config.js的publicPath一致）
  routes // 路由规则
})

// 全局导航守卫（可选：如设置页面标题）
router.beforeEach((to, from, next) => {
  if (to.meta.title) {
    document.title = to.meta.title
  }
  next() // 必须调用next()才能继续导航
})

export default router